<!--入厂检验板块-->

<!--用户权限说明-->
<!--管理员：代码：1，可以做所有的操作-->
<!--可编辑油辅作业指导书人员：代码：2-->
<template>
  <div style="margin: 0;padding: 0">
    <el-container>
      <!--页面表头设计-->
      <el-header style="height: 7vh">
        <el-link class="headMain" href="http://10.255.96.48:3404/">俄动力质量管理系统</el-link>
        <span class="center-text">进货检验平台</span>
        <el-popover
            placement="top-start"
            title="用户信息"
            width="200"
            trigger="hover">
          <div style="margin-top: 10px">Name：{{useName}}</div>
          <div style="margin-top: 10px">ID:{{useId}}</div>
          <div style="margin-top: 10px" @click="logOut"><el-link>退出</el-link></div>
          <div class="headMain" slot="reference">{{useName}}</div>
        </el-popover>
      </el-header>
      <el-container>
        <el-aside width="200px">
          <div style="margin-top: 10px">
            <div style="margin-top: 10px">
              <el-button
                  style="width: 100%;"
                  :style="getButtonStyle(1)"
                  @click="setActiveButton(1)"
              >
                零部件
              </el-button>
            </div>
            <div style="margin-top: 10px">
              <el-button
                  style="width: 100%;"
                  :style="getButtonStyle(2)"
                  @click="setActiveButton(2)"
              >
                油液
              </el-button>
            </div>
            <div style="margin-top: 10px">
              <el-button
                  style="width: 100%;"
                  :style="getButtonStyle(3)"
                  @click="setActiveButton(3)"
              >
                辅料
              </el-button>
            </div>
            <div style="margin-top: 10px">
              <el-button
                  style="width: 100%;"
                  :style="getButtonStyle(4)"
                  @click="setActiveButton(4)"
              >
                设备备件
              </el-button>
            </div>
            <div style="margin-top: 10px">
              <el-button
                  style="width: 100%;"
                  :style="getButtonStyle(5)"
                  @click="setActiveButton(5)"
              >
                工装
              </el-button>
            </div>
          </div>
          <div>
          </div>
        </el-aside>
        <el-container>
          <!--主题设计-->
          <el-main style="height: 79vh;overflow: auto">
            <el-tabs v-model="activeName" @tab-click="handleClick">
              <el-tab-pane label="作业指导书" name="first">
                <div style="display: flex;">
                  <div style="width: 250px; height: 69vh; margin-right: 10px; border: 1px solid blue;">
                    <div>
                      <el-card style="height: 40px;margin: 5px">
                        <div style="margin-top: -10px">
                          <strong style="color: red">零件列表</strong>
                          <el-link style="margin-left: 10px" @click="addPartList(1)"><i class="el-icon-document-add"></i></el-link>
                        </div>
                      </el-card>
                      <div style="margin: 5px">
                        <el-table :data="workDataList" style="width: 100%" border height="60vh" highlight-current-row>
                          <!-- 检测项目名称 project -->
                          <el-table-column
                              prop="partName"
                              label="零部件名称"
                              fixed
                              v-slot:default="scope">
                            <div @click="selectWork(scope)">
                              <span v-if="languageS==='chinese'">{{scope.row.partName.split('/')[0]}}</span>
                              <span v-else-if="languageS==='english'">{{scope.row.partName.split('/')[1]}}</span>
                              <span v-else-if="languageS==='russian'">{{scope.row.partName.split('/')[2]}}</span>
                            </div>
                          </el-table-column>
                        </el-table>
                      </div>
                    </div>
                  </div>
                  <div style="flex-grow: 1; border: 1px solid blue; height: 69vh;overflow: auto">
                    <div>
                      <el-card style="height: 40px;margin: 5px">
                        <div style="display: flex; width: 100%;margin-top: -10px">
                          <div style="width: 300px;"><span style="color: red;font-size: 18px"><strong>作业指导书</strong></span></div>
                          <div style="flex: 1;">{{partName}}</div>
                          <div style="flex: 1;">{{drawing}}</div>
                        </div>
                      </el-card>
                    </div>
                    <div style="margin: 5px">
                      <el-table :data="workData" style="width: 100%" border height="60vh">
                        <!-- 检测项目名称 project -->
                        <el-table-column
                            prop="project"
                            label="检测项目"
                            fixed
                            v-slot:default="scope">
                          <span v-if="languageS==='chinese'">{{scope.row.project.split('|*|')[0]}}</span>
                          <span v-if="languageS==='english'">{{scope.row.project.split('|*|')[1]}}</span>
                          <span v-if="languageS==='russian'">{{scope.row.project.split('|*|')[2]}}</span>
                        </el-table-column>
                        <!-- 检测要求 requirement -->
                        <el-table-column
                            prop="requirement"
                            label="检测要求"
                            width="250"
                            v-slot:default="scope">
                          <span v-if="languageS==='chinese'">{{scope.row.requirement.split('|*|')[0]}}</span>
                          <span v-if="languageS==='english'">{{scope.row.requirement.split('|*|')[1]}}</span>
                          <span v-if="languageS==='russian'">{{scope.row.requirement.split('|*|')[2]}}</span>
                        </el-table-column>
                        <!-- 测量类型 testType -->
                        <el-table-column
                            prop="testType"
                            label="测量类型"
                            width="90"
                            v-slot:default="scope">
                          <span v-if="scope.row.testType===1">计量</span>
                          <span v-if="scope.row.testType===2">计数</span>
                          <span v-if="scope.row.testType===3">目视/手触</span>
                        </el-table-column>
                        <!-- 上公差 ceiling -->
                        <el-table-column
                            prop="ceiling"
                            label="上公差"
                            width="80">
                        </el-table-column>
                        <!-- 下公差 lower -->
                        <el-table-column
                            prop="lower"
                            label="下公差"
                            width="80">
                        </el-table-column>
                        <!-- 标准值 standard -->
                        <el-table-column
                            prop="standard"
                            label="标准值"
                            width="80">
                        </el-table-column>
                        <!-- 检测频次 frequency -->
                        <el-table-column
                            prop="frequency"
                            label="检测频次"
                            width="90">
                        </el-table-column>
                        <!-- 编辑 -->
                        <el-table-column
                            prop="editName"
                            label="编辑"
                            width="90"
                            v-slot:default="scope">
                            <el-link  style="margin-left: 10px" @click="editTestItem(scope,2)"><i class="el-icon-edit"></i></el-link>
                          <el-link  style="margin-left: 10px" @click="editTestItem(scope,3)"><i class="el-icon-upload2"></i></el-link>
                          <el-link  style="margin-left: 10px" @click="editTestItem(scope,4)"><i class="el-icon-download"></i></el-link>
                            <el-link  style="margin-left: 10px" @click="editTestItem(scope,5)"><i class="el-icon-delete"></i></el-link>
                        </el-table-column>
                      </el-table>
                    </div>
                  </div>
                </div>
              </el-tab-pane>
              <el-tab-pane label="管理中台" name="second">管理中台</el-tab-pane>
              <el-tab-pane label="模型说明" name="third">模型说明</el-tab-pane>
            </el-tabs>
          </el-main>
          <el-footer>
            <el-button plain size="small" @click="languageSelect('chinese')">中  文</el-button>
            <el-button plain size="small" @click="languageSelect('russian')">Русский язык</el-button>
            <el-button plain size="small" @click="languageSelect('english')">English</el-button>
          </el-footer>
        </el-container>
      </el-container>
    </el-container>

    <!--弹窗放置区-->
    <!--增加一个零部件的弹窗（注意，是零部件）-->
    <el-dialog
        :title="titleDialog"
        :visible.sync="addPartListDialog"
        width="600px"
        :before-close="handleClose">
      <el-form v-model="workDataForm" label-width="100px">
        <el-form-item  label="部件名称：">
          <el-select v-model="workDataForm.partName" filterable placeholder="请选择" style="width: 100%">
            <el-option
                v-for="item in partListOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="提交：">
          <el-button @click="addPartListDialog=false">取消</el-button>
          <el-button @click="partListSave">确定</el-button>
        </el-form-item>
      </el-form>
    </el-dialog>
    <!--编辑一行检测项目的数据-->
    <el-dialog
        :title="titleDialog"
        :visible.sync="editTestItemDialog"
        width="600px"
        :before-close="handleClose">
      <el-form v-model="workDataForm" label-width="100px">
        <el-form-item label="部件名称：">
          <el-input v-model="workDataForm.partName" disabled></el-input>
        </el-form-item>
        <el-form-item label="零件图号：">
          <el-input v-model="workDataForm.drawing" disabled></el-input>
        </el-form-item>
        <el-form-item label="检测项目：">
          <div style="display: flex; align-items: center;">
            <div style="width: 80px">中文：</div>
            <el-input v-model="tempText1"></el-input>
          </div>
          <div style="display: flex; align-items: center; margin-top: 8px">
            <div style="width: 80px">English：</div>
            <el-input v-model="tempText2"></el-input>
          </div>
          <div style="display: flex; align-items: center; margin-top: 8px">
            <div style="width: 80px">Русский:</div>
            <el-input v-model="tempText3"></el-input>
          </div>
        </el-form-item>
        <el-form-item label="检测要求：">
          <div style="display: flex; align-items: center;">
            <div style="width: 80px">中文：</div>
            <el-input v-model="tempText4"></el-input>
          </div>
          <div style="display: flex; align-items: center; margin-top: 8px">
            <div style="width: 80px">English：</div>
            <el-input v-model="tempText5"></el-input>
          </div>
          <div style="display: flex; align-items: center; margin-top: 8px">
            <div style="width: 80px">Русский:</div>
            <el-input v-model="tempText6"></el-input>
          </div>
        </el-form-item>
        <el-form-item label="检测类型：">
          <el-select v-model="workDataForm.testType" filterable placeholder="请选择" style="width: 100%">
            <el-option
                v-for="item in testTypeOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="检测标准：">
          <div style="display: flex; align-items: center;">
            <div style="width: 100px">标准：</div>
            <el-input v-model="workDataForm.standard" style="width: 100px"></el-input>
            <div style="width: 80px">上公差：</div>
            <el-input v-model="workDataForm.ceiling" style="width: 100px"></el-input>
            <div style="width: 80px">下公差：</div>
            <el-input v-model="workDataForm.lower" style="width: 100px"></el-input>
          </div>
        </el-form-item>
        <el-form-item label="检测频次：">
          <el-select v-model="workDataForm.frequency" filterable placeholder="请选择" style="width: 100%">
            <el-option
                v-for="item in frequencyOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="提交：">
          <el-button @click="editTestItemDialog=false">取消</el-button>
          <el-button @click="editTestItemClick">确定</el-button>
        </el-form-item>
      </el-form>
    </el-dialog>
    <!--删除一行数据-->
    <el-dialog
        :title="titleDialog"
        :visible.sync="deleteTestItemDialog"
        width="600px"
        :before-close="handleClose">
      <el-button @click="deleteTestItemDialog=false">取消</el-button>
      <el-button @click="editTestItemClick">确定</el-button>
    </el-dialog>
    <!--抽屉放置区域-->
  </div>
</template>

<script>
import {frequencyOptions, partListOptions, testTypeOptions} from "@/configUse";
import _ from "lodash";

export default {
  name: "stockTest",
  components: {},
  data() {
    return {
      activeButton: null, // 用于跟踪当前激活的按钮
      activeName:'first',//跟踪用户点击了那个页面
      //用户权限相关的变量
      useName:'',//用户名称
      useId:'',//用户编号
      usePower:'',//用户权限

      languageS:'chinese',//记录用户选择的语言

      //作业指导书的大表数据
      workData:[{
        id:0,//主键
        establishTime: null, // 创建时间
        updateTime: null, // 修改时间
        deleteSign: 0, // 删除标记位 (假设0表示未删除)
        editName: '', // 编辑人
        partName:'',// 零部件名称
        drawing: '', // 产品图号
        project: '', // 检测项目名称（三种语言，用|*|隔开）
        requirement: '', // 检测要求（三种语言，用|*|隔开）
        testType:'', //检测类型
        ceiling: 0.0, // 上公差
        lower: 0.0, // 下公差
        standard: 0.0, // 标准值
        frequency: '', // 检测频次（是一个固定内容，查附录）
        orderNumber: 0, // 顺序号
        partType:'',//部件类型
        department:null,//检验部门
      }],
      //作业指导书的编辑对象
      workDataForm:{
        id:0,//主键
        establishTime: null, // 创建时间
        updateTime: null, // 修改时间
        deleteSign: 0, // 删除标记位 (假设0表示未删除)
        editName: '', // 编辑人
        partName:'',// 零部件名称
        drawing: '', // 产品图号
        project: '', // 检测项目名称（三种语言，用|*|隔开）
        requirement: '', // 检测要求（三种语言，用|*|隔开）
        testType:'', //检测类型
        ceiling: 0.0, // 上公差
        lower: 0.0, // 下公差
        standard: 0.0, // 标准值
        frequency: '', // 检测频次（是一个固定内容，查附录）
        orderNumber: 0, // 顺序号
        partType:'',//部件类型
        department:null,//检验部门
      },
      workDataDoe:0,//记录用户是要对某一类作业指导书的操作：1.新增一项作业指书（新增一个零部件的作业指导书）；2.编辑一项作业指导书（编辑某一个条目）
      workDataScope:null,//记录的是点击哪一行的检验项目
      //零部件的明细列表
      workDataList:[
        {
          partName: '',// 零部件名称
          drawing: '', // 产品图号
         }
      ],
      partName:'未选择',
      drawing:'图号',
      //单击零部件明细列表的scope格式
      workDataListScope:null,
      //控制弹窗的变量
      titleDialog:'提示',
      addPartListDialog:false,//显示新增一个外购件作业指导书的控件
      editTestItemDialog:false,//显示一个编辑外购件作业指导书项目的弹框
      deleteTestItemDialog:false,//删除一条检验记录的弹窗控制
      //选择器的变量
      partListOptions:partListOptions, //外购零部件的检测项目
      testTypeOptions:testTypeOptions,//检测类型的选择器用
      frequencyOptions:frequencyOptions,//检测频次用的选择器
      //临时输入框
      tempText1:'请输入',
      tempText2:'请输入',
      tempText3:'请输入',
      tempText4:'请输入',
      tempText5:'请输入',
      tempText6:'请输入',
    }
  },
  watch: {},
  methods: {
    //退出登录
    logOut(){
      localStorage.removeItem('u_token');
      localStorage.removeItem('userName')
      this.$router.push('UserLogin')
    },
    //查询用户信息的函数
    inquiry(){
      //输入用户编号，向后端查询信息
      const useId=localStorage.getItem('userName').replace(/"/g, '');
      this.$request.post('/useQueryPower',{
        queryFiledName:'changeModel',
        userId:useId,
      }).then(result=>{
        if (result.code === 401) {
          this.$router.push('UserLogin')
          alert("您未登录，请登录")
        }else {
          this.useName=result.data.name
          this.usePower=result.data.changeModel
          this.useId=useId
        }
      })
    },
    //点击语言，做出的反应
    languageSelect(doe){
      this.languageS=doe
    },
    //通用，关闭弹窗
    handleClose(done) {
      this.$confirm('确认关闭？')
          .then(_ => {/* eslint-disable-line no-unused-vars */
            done();
          })
          .catch(_ => {/* eslint-disable-line no-unused-vars */});
    },
    // 切换激活的按钮
    setActiveButton(button) {
      this.workData=[]
      this.activeButton = this.activeButton === button ? null : button;
      //筛选数据
      //是零部件作业指导书
      let filedVal
      if (button===1){
        filedVal='零部件'
      }
      //向后端发送信息，根据一个字段名筛选出等于某一值的请求，是不重复的值
      this.$request.post('/inquiryOneFiled',{
        filedName:'partType',
        filedVal:filedVal,
      })
          .then(result=>{
            if (result.code === 401) {
              this.$router.push('UserLogin')
              alert("您未登录，请登录")
            }else {
              this.workDataList=result.data
            }
      })
    },
    // 根据当前按钮是否被激活来设置内联样式
    getButtonStyle(button) {
      if (this.activeButton === button) {
        return {
          backgroundColor: 'blue',
          color: 'white',
        };
      } else {
        return {
          backgroundColor: 'white',
          color: 'black',
        };
      }
    },
    //单击分页标签做出的反应
    handleClick(tab, event) {
      console.log(tab, event);
    },
    //点击新增一个零部件作业指导书
    addPartList(doe){
      this.workDataDoe=doe
      //是新增零部件的作业指导书的请求
      if (this.activeButton===1){
        this.titleDialog='新增零部件入厂检验指导书'
        this.workDataForm={
          id:0,//主键
          establishTime: null, // 创建时间
          updateTime: null, // 修改时间
          deleteSign: 1, // 删除标记位 (假设0表示未删除)
          editName: this.useId, // 编辑人
          partName:'',// 零部件名称
          drawing: '', // 产品图号
          project: '请编辑|*|Please edit|*|Пожалуйста, отредактируйте', // 检测项目名称（三种语言，用|*|隔开）
          requirement: '请编辑|*|Please edit|*|Пожалуйста, отредактируйте', // 检测要求（三种语言，用|*|隔开）
          testType:null, //检测类型
          ceiling: null, // 上公差
          lower: null, // 下公差
          standard: null, // 标准值
          frequency: null, // 检测频次（是一个固定内容，查附录）
          orderNumber: 0, // 顺序号
          partType:'零部件',//部件类型
          department:null,//检验部门
        }
        this.addPartListDialog=true
      }
      else {
        this.$message.error('请选择一种部件类型')
      }
    },
    //点击弹窗中的保存按钮，执行的操作
    partListSave(){
      //是零部件的作业指导书
      if (this.activeButton===1) {
        //是新增
        if (this.workDataDoe === 1) {
          //组合数据
          this.workDataForm.drawing = this.workDataForm.partName.split('/')[0]
          this.workDataForm.partName = this.workDataForm.partName.replace(/^.*?\//, "")
          //向后端发送信息
          this.$request.post('/insertOneWorkData', this.workDataForm).then(result => {
            if (result.code === 401) {
              this.$router.push('UserLogin')
              alert("您未登录，请登录")
            } else {
              this.$message('保存成功')
              this.addPartListDialog=false
            }
          })
        }
      }
    },
    //选择出所有的检测项目
    selectWork(scope){
      if (this.languageS==='chinese'){
        this.partName=scope.row.partName.split('/')[0]
      }
      else if (this.languageS==='english'){
        this.partName=scope.row.partName.split('/')[1]
      }
      else if (this.languageS==='russian'){
        this.partName=scope.row.partName.split('/')[2]
      }
      this.drawing=scope.row.drawing
      //向后端发送请求，去根据一个字段
      let secondFiledVal
      if (this.activeButton===1){
        secondFiledVal='零部件'
      }

      this.$request.post('/inquiryTwoFiledAll',{
        fistFiledName:'drawing',
        fistFiledVal:scope.row.drawing,
        secondFiledName:'partType',
        secondFiledVal:secondFiledVal
      }).then(result=>{
        if (result.code === 401) {
          this.$router.push('UserLogin')
          alert("您未登录，请登录")
        }else {
          this.workData=result.data
          this.workData.sort((a,b) => a.orderNumber-b.orderNumber)
        }
      })
    },
    //编辑一条入厂检验检测项目的函数的显示函数
    editTestItem(scope,doe){
      this.workDataScope=scope
      this.workDataDoe=doe
      //是要进行检测项目的编辑行为
      if (doe===2){
        //进行赋值
        this.workDataForm=_.cloneDeep(scope.row)
        //对内容进行赋值
        this.tempText1=scope.row.project.split('|*|')[0]
        this.tempText2=scope.row.project.split('|*|')[1]
        this.tempText3=scope.row.project.split('|*|')[2]

        this.tempText4=scope.row.requirement.split('|*|')[0]
        this.tempText5=scope.row.requirement.split('|*|')[1]
        this.tempText6=scope.row.requirement.split('|*|')[2]

        //弹窗表头赋值
        this.titleDialog='您正在编辑一条检验项目'
        this.editTestItemDialog=true
      }
      //是要向上插入一行数据
      else if (doe===3){
        //进行赋值
        this.tempText1='请输入'
        this.tempText2='Please edit'
        this.tempText3='Пожалуйста отредактируйте'
        this.tempText4='请输入'
        this.tempText5='Please edit'
        this.tempText6='Пожалуйста отредактируйте'

        //进行赋值
        this.workDataForm={
          id:-1,//主键
          establishTime: null, // 创建时间
          updateTime: null, // 修改时间
          deleteSign: 1, // 删除标记位 (假设0表示未删除)
          editName: this.useId, // 编辑人
          partName:scope.row.partName,// 零部件名称
          drawing: scope.row.drawing, // 产品图号
          project: '', // 检测项目名称（三种语言，用|*|隔开）
          requirement: '', // 检测要求（三种语言，用|*|隔开）
          testType:1, //检测类型
          ceiling: 0.0, // 上公差
          lower: 0.0, // 下公差
          standard: 0.0, // 标准值
          frequency: '', // 检测频次（是一个固定内容，查附录）
          orderNumber: 0, // 顺序号
          partType:'',//部件类型
          department:null,//检验部门
        }
        //弹窗表头赋值
        this.titleDialog='您正在向上插入一条检验项目'
        this.editTestItemDialog=true
      }
      //是要向上插入一行数据
      else if (doe===4){
        //进行赋值
        this.tempText1='请输入'
        this.tempText2='Please edit'
        this.tempText3='Пожалуйста отредактируйте'
        this.tempText4='请输入'
        this.tempText5='Please edit'
        this.tempText6='Пожалуйста отредактируйте'

        //进行赋值
        this.workDataForm={
          id:-1,//主键
          establishTime: null, // 创建时间
          updateTime: null, // 修改时间
          deleteSign: 1, // 删除标记位 (假设0表示未删除)
          editName: this.useId, // 编辑人
          partName:scope.row.partName,// 零部件名称
          drawing: scope.row.drawing, // 产品图号
          project: '', // 检测项目名称（三种语言，用|*|隔开）
          requirement: '', // 检测要求（三种语言，用|*|隔开）
          testType:1, //检测类型
          ceiling: 0.0, // 上公差
          lower: 0.0, // 下公差
          standard: 0.0, // 标准值
          frequency: '', // 检测频次（是一个固定内容，查附录）
          orderNumber: 0, // 顺序号
          partType:'',//部件类型
          department:null,//检验部门
        }
        //弹窗表头赋值
        this.titleDialog='您正在向下插入一条检验项目'
        this.editTestItemDialog=true
      }
      //是要删除一条记录
      else if (doe===5){
        this.titleDialog='确定删除本条检测项目吗？'
        this.deleteTestItemDialog=true
      }
    },
    //点击对一条入厂检验检测项目的修改函数,实施修改
    editTestItemClick(){
      //是编辑一条的操作
      if (this.workDataDoe===2){
        //数据校验，校验输入的标准是否为数值
        if (!this.isNumber(this.workDataForm.standard)){
          this.$message.error('标准值数值不正确')
          return
        }
        if (!this.isNumber(this.workDataForm.ceiling)){
          this.$message.error('上公差数值不正确')
          return;
        }
        if (!this.isNumber(this.workDataForm.lower)){
          this.$message.error('下公差数值不正确')
          return;
        }
        if (this.workDataForm.testType===1){
          if (this.workDataForm.ceiling<=this.workDataForm.lower){
            //数据更新
            this.workData[this.workDataScope.$index]=_.cloneDeep(this.workDataForm)
            this.$message.error('上下公差区间异常，请核对')
            return;
          }
        }
        //组合数据
        this.workDataForm.project=this.tempText1+'|*|'+this.tempText2+'|*|'+this.tempText3
        this.workDataForm.requirement=this.tempText4+'|*|'+this.tempText5+'|*|'+this.tempText6
        this.workDataForm.editName=this.useId
        //向后端发送数据，修改这一行的数据
        this.$request.post('/stockTestEditOneAll',this.workDataForm).then(result=>{
          if (result.code === 401) {
            this.$router.push('UserLogin')
            alert("您未登录，请登录")
          }else {
            if (result.data==='修改成功'){
              this.$message.success(result.data)
              this.editTestItemDialog=false
            }
          }
        })
      }
      //是向上插入一条数据
      else if (this.workDataDoe===3){
        //数据校验，校验输入的标准是否为数值
        if (!this.isNumber(this.workDataForm.standard)){
          this.$message.error('标准值数值不正确')
          return
        }
        if (!this.isNumber(this.workDataForm.ceiling)){
          this.$message.error('上公差数值不正确')
          return;
        }
        if (!this.isNumber(this.workDataForm.lower)){
          this.$message.error('下公差数值不正确')
          return;
        }
        if (this.workDataForm.testType===1){
          if (this.workDataForm.ceiling<=this.workDataForm.lower){
            //数据更新
            this.workData[this.workDataScope.$index]=_.cloneDeep(this.workDataForm)
            this.$message.error('上下公差区间异常，请核对')
            return;
          }
        }
        //组合数据
        this.workDataForm.project=this.tempText1+'|*|'+this.tempText2+'|*|'+this.tempText3
        this.workDataForm.requirement=this.tempText4+'|*|'+this.tempText5+'|*|'+this.tempText6
        this.workDataForm.editName=this.useId
        this.workDataForm.partType=this.workData[0].partType

        //对是那一类的外购件进行赋值
        if (this.activeButton===1){
          //是外购零部件
          this.workDataForm.partType='零部件'
        }
        let temp=_.cloneDeep(this.workData)
        temp.splice(this.workDataScope.$index,0,this.workDataForm)

        //对数据进行排序
        for (let i = 0; i < temp.length; i++) {
          temp[i].orderNumber=i
        }
        //向后端发送请求(id=-1代表是新插入的这一行
        this.$request.post('/stockTestOrderNumberWork',temp).then(result=>{
          if (result.code === 401) {
            this.$router.push('UserLogin')
            alert("您未登录，请登录")
          }else {
            //修改主表内容
            this.workData=_.cloneDeep(temp)
            this.$message.success('插入成功')
            this.editTestItemDialog=false
          }
        })
      }
      //是向下插入一条数据
      else if (this.workDataDoe===4){
        //数据校验，校验输入的标准是否为数值
        if (!this.isNumber(this.workDataForm.standard)){
          this.$message.error('标准值数值不正确')
          return
        }
        if (!this.isNumber(this.workDataForm.ceiling)){
          this.$message.error('上公差数值不正确')
          return;
        }
        if (!this.isNumber(this.workDataForm.lower)){
          this.$message.error('下公差数值不正确')
          return;
        }
        if (this.workDataForm.testType===1){
          if (this.workDataForm.ceiling<=this.workDataForm.lower){
            //数据更新
            this.$message.error('上下公差区间异常，请核对')
            return;
          }
        }
        //组合数据
        this.workDataForm.project=this.tempText1+'|*|'+this.tempText2+'|*|'+this.tempText3
        this.workDataForm.requirement=this.tempText4+'|*|'+this.tempText5+'|*|'+this.tempText6
        this.workDataForm.editName=this.useId
        this.workDataForm.partType=this.workData[0].partType
        //对是那一类的外购件进行赋值
        if (this.activeButton===1){
          //是外购零部件
          this.workDataForm.partType='零部件'
        }
        let temp=_.cloneDeep(this.workData)
        temp.splice(this.workDataScope.$index+1,0,this.workDataForm)

        //对数据进行排序
        for (let i = 0; i < temp.length; i++) {
          temp[i].orderNumber=i
        }
        //向后端发送请求(id=-1代表是新插入的这一行）
        this.$request.post('/stockTestOrderNumberWork',temp).then(result=>{
          if (result.code === 401) {
            this.$router.push('UserLogin')
            alert("您未登录，请登录")
          }else {
            //修改主表内容
            this.workData=temp
            this.$message.success('插入成功')
            this.editTestItemDialog=false
          }
        })
      }
      //是删除一条记录
      else if (this.workDataDoe===5){
        //设置删除标记为零
        const temp=_.cloneDeep(this.workDataScope.row)
        temp.deleteSign=0
        //向后端发送请求
        this.$request.post("/stockTestEditOneAll",temp).then(result=>{
          if (result.code === 401) {
            this.$router.push('UserLogin')
            alert("您未登录，请登录")
          }else {
            //修改主表内容
            this.$message.success('删除成功')
            this.workData.splice(this.workDataScope.$index,1)
            this.deleteTestItemDialog=false
          }
        })
      }

    },
    // 通用，判断是不是数字的函数
    isNumber(value) {
      // 使用正则表达式检查是否是数字（包括正负数和小数）
      const regex = /^-?\d+(\.\d+)?$/;
      return regex.test(value);
    },
  },
  mounted() {
    this.inquiry();
    this.workData=[]
  }
}
</script>

<style scoped>
/* 主体左侧的工作步骤栏用到的数据包围的div的样式*/

.el-footer {
  background-color: #ffffff;
  color: #333;
  text-align: center;
  border-width: 3px; /* 设置边框宽度为3像素 */
  border-color: blue; /* 设置边框颜色为蓝色 */
  border-style: solid; /* 设置边框样式为实线 */
  padding: 10px; /* 添加内边距 */
  border-left-color: white;
  border-top: white;
}

.el-aside {
  background-color: #ffffff;
  color: #333;
  text-align: center;
  border-width: 3px; /* 设置边框宽度为3像素 */
  border-color: blue; /* 设置边框颜色为蓝色 */
  border-style: solid; /* 设置边框样式为实线 */
  padding: 10px; /* 添加内边距 */
  height: 89vh;
}

.el-main {
  color: #333;
  text-align: center;
  border-width: 3px; /* 设置边框宽度为3像素 */
  border-color: blue; /* 设置边框颜色为蓝色 */
  border-left-color: white;
  border-style: solid; /* 设置边框样式为实线 */
  padding: 10px; /* 添加内边距 */
}

body > .el-container {
  margin-bottom: 40px;
}

.el-container:nth-child(5) .el-aside,
.el-container:nth-child(6) .el-aside {
  line-height: 260px;
}

.el-container:nth-child(7) .el-aside {
  line-height: 320px;
}

.headMain{
  color: #ffffff; /* 设置字体颜色为红色 */
  font-size: 18px;
}
.center-text {
  /* 使用 margin-left 和 margin-right auto 来实现居中效果 */
  margin-left: auto;
  margin-right: auto;
  /* 注意：如果 header 内只有这两个元素，你可能不需要 margin-right: auto */
}

/*自定义样式*/
</style>